class AnalistaController < ApplicationController
  def index
    home
    render :action => 'home'
  end
  
  # GETs should be safe (see http://www.w3.org/2001/tag/doc/whenToUseGet.html)
  verify :method => :post, :only => [ :destroy, :create, :update ],
    :redirect_to => { :action => :list }

  
  def show
    @requisicao = Requisicao.find(params[:id])
    if @requisicao.usuario_id == Goldberg.user.id
      @events = filtra_eventos(@requisicao.next_events_for_current_state)
    else
      @events = ""
    end
  end
  def home
    #  sql = "select * from requisicoes r where r.usuario_id = 'Goldberg.user.id'"
    #    @requisicoes = Requisicao.find(:all, :conditions => ["usuario_id = ?", Goldberg.user.id])
    #    @requisicao_pages, @requisicoes = paginate :requisicoes, :per_page => 8, :conditions => ["usuario_id = ?", Goldberg.user.id]
    @requisicao_pages, @requisicoes = paginate(:requisicoes, :per_page => 7, :conditions => ["usuario_id = ?", Goldberg.user.id])
    #     @requisicao_pages, @requisicoes = paginate_by_sql(Requisicao, sql, 1)     
  end
  
  def req_pendente
    @requisicao_pages, @requisicoes = paginate(:requisicoes, :per_page => 7, 
      :conditions => ["usuario_id = #{Goldberg.user.id} and (estado = 'atualizacaoServidorCanceladaProd' or estado = 'atualizacaoBdCanceladaProd' or estado = 'aguardandoAutorizacaoGerencia' or estado = 'requisicaoReprovadaCert' or estado = 'certificacaoCancelada' or estado = 'requisicaoAprovadaCert' or estado = 'desenvolvimentoReprovadoPool' or estado = 'desenvolvimentoAprovadoPool' or estado = 'erroNaProducao')"])
  end
  
  #Lista as ultimas requisições
  def ultimas_req
    @requisicao_pages, @requisicoes = paginate(:requisicoes, :per_page => 7, :conditions => ['usuario_id = ?', Goldberg.user.id], :order => "created_at DESC")
  end
  
  #O analista reprova o desenvolvimento
  def reprovarDesenvolvimentoAnalista
    historico = Historico.new
    historico.attributes = params[:historico]
    @requisicao = Requisicao.find(historico.requisicao_id)
    @requisicao.reprovarDesenvolvimentoAnalista!
    historico.usuario_id = Goldberg.user.id
    historico.estado = @requisicao.estado
    @requisicao.historicos << historico    
    flash[:notice] = 'Operação realizada com sucesso.'        
    redirect_to :action => 'home'
  end   
  
  #O analista aprova o desenvolvimento
  def aprovarDesenvolvimentoAnalista
    historico = Historico.new
    historico.attributes = params[:historico]
    @requisicao = Requisicao.find(historico.requisicao_id)
    @requisicao.aprovarDesenvolvimentoAnalista!
    historico.usuario_id = Goldberg.user.id
    historico.estado = @requisicao.estado
    @requisicao.historicos << historico    
    flash[:notice] = 'Operação realizada com sucesso.'        
    redirect_to :action => 'home'
  end    
end
